package com.hn.shopadmin.service;

import com.hn.shopadmin.dto.UserLoginDTO;
import com.hn.shopadmin.dto.UserRegisterDTO;
import com.hn.kiss.modules.sys.shopcommon.common.ParmException;
import com.hn.kiss.modules.sys.shopdb.entity.User;

/**
 * 用户管理业务接口
 */
public interface UserService {

    /**
     * 通过账号获取用户信息(用户名,手机号,邮箱,身份证号)
     *
     * @param username
     * @return
     */
    User getUserByUserName(String username);

    /**
     * 用户添加
     */
    int insert(User user);

    /**
     * 通过主键获取用户信息
     *
     */
    User getById(String id);

    /**
     * 用户信息修改
     */
    int update(User user);

    /**
     * 登录接口
     * @param username 用户名
     * @param password 密码
     * @return
     */
    UserLoginDTO login(String username, String password);

    /**
     * 通用注册
     * @param userRegisterDTO
     * @param role 角色
     * @return
     * @throws ParmException
     * @throws ParmException
     */
    int register(UserRegisterDTO userRegisterDTO, String role) throws ParmException;

    /**
     * 用户注册
     * @param userRegisterDTO
     * @return
     */
    int userRegister(UserRegisterDTO userRegisterDTO) throws ParmException;
    /**
     * 店长注册
     * @param userRegisterDTO
     * @return
     */
    int shopRegister(UserRegisterDTO userRegisterDTO) throws ParmException;

    /**
     * 校验用户账号是否正确
     * @param phone
     * @param inNo
     * @param eaml
     * @return
     * @throws ParmException
     */
    boolean valedatorUser(String phone, String inNo, String eaml) throws ParmException;

    /**
     * 校验密码是否正确
     * @param id
     * @param password
     * @return
     */
    boolean valedatorPassword(String id, String password);

}
